'use strict';
var Q = require('q');
var _ = require('underscore');
var config = require('../../config');
var Schema = require('jugglingdb').Schema;
var async = require('async');
var E = require('../../error');
//设置API db链接
var schema = new Schema('mysql', config.db.api);

var M = require('../../utils/schema/simpleModel')(schema.adapter);

//
///**
// * 用户的信息的管理
// */
//
//M.UCenter = {
//    //注册
//    signUp:function(args){
//        //进入注册的流程
//        var def = Q.defer();
//
//        //TODO:验证用户是否使用了已有的数据
//
//
//
//        //生成创建时间
//        args.updateAt = args.createAt = _.now();
//        var arg = {table:'gr_login_info',row:args};
//        M.create(arg).then(function(data){
//            THIS.objectId = data.insertId;
//            def.resolve(THIS);
//        }).catch(function(err){
//            def.reject(err);
//        });
//        return def.promise;
//
//    },
//    //登录
//    signIn:function(args){
//        var deferred = Q.defer();
//
//        async.waterfall([
//            //1.通过登录名，获取用户信息
//            function(callback){
//                var arg = {table:'gr_login_info',condition:"login_name = '" + args.loginname + "'"};
//                M.first(arg).then(function(data){
//                    callback(null,data)
//                }).catch(function(err){
//                    callback(err);
//                });
//            },
//            function(argA,callback){
//                //未查找到用户名对应的用户
//                if(!_.isObject(argA)){
//                    callback(E.User.NOT_EXISTS);
//                    return;
//                }
//                //TODO:添加密码加密的过程
//                if(args.loginpass == argA['login_pass']){
//                    callback(null,argA);
//                    return;
//                }
//                callback(E.User.PASSWORD_ERROR)
//            },function(argB,callback){
//                //TODO:添加一些登录后的操作;如加积分，记录登录次数等
//                callback(null,argB);
//            }
//        ],function(err,res){
//            if(err){
//                deferred.reject(err);
//            }else{
//                deferred.resolve(res);
//            }
//        });
//        return deferred.promise;
//    }
//};
//

module.exports = M;
require('./func/logistics')(M);
require('./func/push')(M);
require('./func/version')(M);
require('./func/shop')(M);
require('./func/user')(M);